<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>JSON-Server</title>
    <link href="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
    <div class="container">
        <table class="table">
            <caption>文章表</caption>
            <thead>
                <tr>
                    <td>序号</td>
                    <td>标题</td>
                    <td>作者</td>
                </tr>
            </thead>
            <tbody>
            </tbody>
        </table>
        <div class="row">
            <div class="col-md-8">1</div>
            <div class="col-md-4"> 2</div>
        </div>
        <form name="postForm">
            <div class="form-group">
                <label for="titleInput">标题</label>
                <input type="text" name="title" class="form-control" id="titleInput"
                 placeholder="请输入标题" required>
            </div>
            <div class="form-group">
                <label for="authorInput">作者</label>
                <input type="text" name="author"  class="form-control" id="authorInput"
                 placeholder="请输入作者"  required>
            </div>
            <button type="submit" class="btn btn-default">添加</button>
        </form>
    </div>
    <!-- 布局的类名 -->
    <a href="http://www.baidu.com" id="linkA">去百度</a>
    
    
    <script>
    const oForm = document.forms['postForm'];
    const oTBody = document
        .querySelector('table tbody');
    // console.log(oForm);
    const oLink = document.getElementById('linkA');

    // 功能抽象  post对象，变成tr  html 字符串
    const getPostHtml = (post) => `
        <td>${post.index}</td>
        <td>${post.title}</td>
        <td>${post.author}</td>
    `

    oLink.addEventListener('click',function(event){
        event.preventDefault();
    })
    let index = 3;

    oForm.addEventListener('submit', function(event) {
        // form 默认会向后端提交
        console.log('请先不要向后端提交数据');
        event.preventDefault();
        const title = oForm['title'].value.trim();
        // console.log(title);
        const author = oForm['title'].value.trim();
        // document 文档中  去查找  css querySelector table tbody
        oTBody
            .innerHTML +=`
                <tr>
                <td>${index}</td>
                <td>${title}</td>
                <td>${author}</td>
                </tr>
            `;
            index++;
            // 清空表单
            oForm.reset();
    });

    fetch('http://localhost:3000/posts')
        .then(data => data.json())
        .then(data => {
            // 前端和后端通信的数据格式是 json 
            oTBody
                .innerHTML = 
                data.map(post => getPostHtml(post))
            .join('')
        })
    </script>
</body>
</html>